class ExtraPwrMeasureTypeDef(object):
    '''    
    VDD 测量值 类对象
    '''

    def VDD_V(self):
        '''    
        VDD 电压测量值 单位V
        '''

    def VDD_V_Alarm(self):
        '''    
        VDD 电压报警状态
        '''

    def VDD_I_uA(self):
        '''    
        VDD 电流测量值 以uA为单位 I_uA = I_mA*1000
        '''

    def VDD_I_mA(self):
        '''    
        VDD 电流测量值 以mA为单位 I_mA = I_uA/1000
        '''

    def VDD_I_Alarm(self):
        '''    
        VDD 电流报警状态，=0x0无报警, =0x1上限报警，=0x2下限报警，参看上面宏定义"报警状态宏定义"
        '''

def Sharp_ExtraPower_Init():
    '''    
        外挂电源板初始化

        * 参数  : 

        * 返回  : 

        * raise  :   无

    '''

def Sharp_ExtPower_GetVersion():
    '''         
    获取电源板的软硬件版本号 

    * 参数  无

    * 返回  : 
        * 0:成功，板子版本号 (元组,格式: ((1,0,0), (1,0)))
        * -1:发送失败
        * -2:超时
        * -3:反馈长度不匹配
        * -4:参数错误 
    
    * raise  :   无
    '''

def Sharp_ExtPower_SetVDD(ch, v):
    '''         
    设置各个通道的电压值

    * 参数  : 
        * ch: 通道数(1-3)
        * v: 所设置的电压值，单位 V(其中VDD3为负,需要输入负值)
    * 返回  : 
        * 0:成功
        * -1:发送失败
        * -2:超时
        * -3:反馈长度不匹配
        * -4:参数错误
    
    * raise  :   无
    '''

def Sharp_ExtPower_VDD_Squence_Init(sky_comDriver):
    '''         
    顺序上/下电功能初始化

    * 参数  
        * sky_comDriver:  --串口设备类，只能传串口的设备

    * 返回  : 
        * 0:成功
        * -1:发送失败
        * -2:超时
        * -3:反馈长度不匹配
        * -4:参数错误 

    * raise  :   无    
    '''

def Sharp_ExtPower_SetVs(OnOff):
    '''         
    设置是否启用顺序上/下电

    * 参数  
        * OnOff : 0-关闭顺序上电 1-启用顺序上电

    * 返回  : 
        * 0:成功
        * -1:发送失败
        * -2:超时
        * -3:反馈长度不匹配
        * -4:参数错误
    
    * raise  :   无   
    '''

def Sharp_ExtPower_VDD_SquenceCof(ch,SetV,sequence,time):
    '''         
    顺序上下电配置

    * 参数   
        * ch   : 通道号，值范围1~3。 =1 代表VDD1
        * SetV : 设置的电压，单位V
        * sequence : 执行顺序,从1开始
        * time : 执行到下一个之间的时间间隔(ms)

    * 返回  : 
        * 0:成功
        * -1:发送失败
        * -2:超时
        * -3:反馈长度不匹配
        * -4:参数错误

    * raise  :   无       
    '''

def Sharp_ExtPower_VDD_Squence_run(waitTime):
    '''         
    执行顺序上/下电
    
    * 参数 
        * waitTime:等待时间(为0不等待)

    * 返回  : 
        * 0:成功
        * -1:发送失败
        * -2:超时
        * -3:反馈长度不匹配
        * -4:参数错误
    
    * raise  :   无      
    '''

def Sharp_ExtPower_OFF_ALL_VDD():
    '''         
    快速关闭所有VDD输出

    * 参数  : 无

    * 返回  : 
        * 0:成功
        * -1:发送失败
        * -2:超时
        * -3:反馈长度不匹配
        * -4:参数错误
    
    * raise  :   无     
    '''

def Sharp_ExtPower_SetVDDLimit(ch,mA):
    '''         
    设置某VDD通道达到多大电流时断电保护(默认400mA)

    * 参数 
        * ch: 通道号，值范围1~3。 =1 代表VDD1
        * mA: 要设置的电流保护值，单位mA, 

    * 返回  : 
        * 0:成功
        * -1:发送失败
        * -2:超时
        * 3:反馈长度不匹配
        * -4:参数错误

    * raise  :   无         
    '''

def Sharp_ExtPower_SetVxAlarmValue(CH,vMax,vMin):
    '''         
    设置某通道 电压报警限定值

    * 参数   
        *  ch     : 通道号，值范围1~3。 =1 代表VDD1
        *  vMax   : 电压上限值，单位V，精度0.01V，若不监控此项需赋值为 LIMITNULL
        *  vMin   : 电压下限值，单位V，精度0.01V，若不监控此项需赋值为 LIMITNULL

    * 返回  : 
        * 0:成功
        * -1:发送失败
        * -2:超时
        * -3:反馈长度不匹配
        * -4:参数错误 
    
    * raise  :   无   
    '''

def Sharp_ExtPower_SetIxAlarmValueMA(CH,iMax,iMin):
    '''         
    设置某通道 某端口的电流报警限定值  毫安为单位

    * 参数   
        * ch  : 通道号，值范围1~3。 =1 代表VDD1
        * iMax: 电流上限值，以mA为单位,精度0.1mA若不监控此项需赋值为 METER_LIMITNULL
        * iMin: 电流下限值，以mA为单位,精度0.1mA若不监控此项需赋值为 METER_LIMITNULL

    * 返回  : 
        * 0:成功
        * -1:发送失败
        * -2:超时
        * -3:反馈长度不匹配
        * -4:参数错误 

    * raise  :   无    
    '''

def Sharp_ExtPower_Clear_MinMax():
    '''         
    清除所有卡控

    * 参数  : 无

    * 返回  : 
        * 0:成功
        * -1:发送失败
        * -2:超时
        * -3:反馈长度不匹配
        * -4:参数错误

    * raise  :   无   

    '''

def Sharp_ExtPower_SetIxMeaRange(ch,rang):
    '''         
    设置某通道 某端口的电流测量量程(档位)

    * 参数   
        *  ch    : 通道号，值范围1~3。 =1 代表VDD1
        *  rang  : 量程(=1 A量程,=2 mA量程,=3 uA量程) 

    * 返回  : 
        * 0:成功
        * -1:发送失败
        * -2:超时
        * -3:反馈长度不匹配
        * -4:参数错误 
    
    * raise  :   无   

    '''

def Sharp_ExtPower_GetPowerMea():
    '''         
    回读VDD 的测量值和报警状态

    * 参数  
        *  MeterMeasure : 测量值，请看结构体 ExtraPwrMeasureTypeDef的定义

    * 返回  : 
        * 0:成功
        * -1:发送失败
        * -2:超时
        * -3:反馈长度不匹配
        * -4:参数错误 

    * raise  :   无       
    '''

def Sharp_ExtPower_StartAlarm():
    '''         
    开启报警功能。设置通道限定值後，需调用此函数才能开启报警功能

    * 参数  : 无

    * 返回  : 
        * 0:成功
        * -1:发送失败
        * -2:超时
        * -3:反馈长度不匹配
        * -4:参数错误

    * raise  :   无 
    '''

def Sharp_ExtPower_StopAlarm():
    '''         
    关闭报警功能。

    * 参数  : 无

    * 返回  : 
        * 0:成功
        * -1:发送失败
        * -2:超时
        * -3:反馈长度不匹配
        * -4:参数错误

    * raise  :   无 
    '''

def Sharp_ExtPower_SetBee(bee_onoff):
    '''         
    蜂鸣器控制

    * 参数  : 
        * bee_onoff - 设置蜂鸣器状态； =1响蜂鸣器，=0关蜂鸣器

    * 返回  : 
        * 0:成功
        * -1:发送失败
        * -2:超时
        * -3:反馈长度不匹配
        * -4:参数错误  

    * raise  :   无     
    '''

def Sharp_ExtPower_Start_BeepT(alarmTime):
    '''         
    响起蜂鸣器,倒计时结束自动关闭蜂鸣器

    *参数  
        * alarmTime:  蜂鸣器持续响起时间（ms）

    * 返回  : 
        * 0:成功
        * -1:发送失败
        * -2:超时
        * -3:反馈长度不匹配
        * -4:参数错误

    * raise  :   无      
    '''

def Sharp_ExtPower_restart():
    '''         
    软件重启电源板

    * 参数  : 无

    * 返回  : 
        * 0:成功
        * -1:发送失败
        * -2:超时
        * -3:反馈长度不匹配
        * -4:参数错误

    * raise  :   无          
    '''

def Sharp_ExtPower_SpVDDG(OnOff):
    '''         
    是否开启延长上电功能

    *参数  
        * OnOff : 0-关闭延长上电功能 1-开启延长上电功能

    *返回  : 
        * 0:成功
        * -1:发送失败
        * -2:超时
        * -3:反馈长度不匹配
        * -4:参数错误

    * raise  :   无         
    '''

def Sharp_ExtPower_SetVDDG(ch,v):
    '''         
    设置延长上电的时间 电压越大延长时间越大

    * 参数   
        * ch : 通道号，值范围1~3。 =1 代表VDD1
        * v  : (单位V)电压越大延长时间越大,但不能超过设置的电压+1.5V

    * 返回  : 
        * 0:成功
        * -1:发送失败
        * -2:超时
        * -3:反馈长度不匹配
        * -4:参数错误 

    * raise  :   无         
        
    '''

